home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / misc / zpoint_3_14.lha / zpoint-3.14 / Rexx / ZPBM.zprx < prev    next >
Text File  |  1996-04-30  |  7KB  |  248 lines

  1. /*  $VER: ZPBM.zp 0.12 Beta von Frank Meister                      *
  2.  *  AREXX Script für ZPBM ( Brettmanager für Zodiac's Point )      *  
  3.  *******************************************************************/
  4.                 /* Wo befindet sich ZPBM ?                         */
  5. zpbm          = 'dh1:tools/zpbm'
  6. /*-----------------------------------------------------------------*/
  7.                 /* Wo ist die Brettliste ?
  8.                    ( Vorher mit ZP auslagern )                     */
  9. list.zpbm     = 'dh1:MAPS/brettliste.zp'
  10. /*-----------------------------------------------------------------*/
  11.                 /* Wo ist die Liste der bestellten Bretter ?
  12.                    ( Vorher mit ZP auslagern )                     */
  13. mybretterlist.zpbm  = 'dh1:MAPS/meineBrettListe.zp'
  14. /*-----------------------------------------------------------------*/
  15.                 /* In diese Datei schreibt ZPBM die markierten
  16.                    Bretter, um Sie dann per AREXX zu verarbeiten.  */
  17. maps.zpbm     = 't:maps.zpbm'
  18. /*-----------------------------------------------------------------*/
  19.                 /* Unter diesem Namen wird die Brettliste, über der
  20.                    der Nachrichtencursor in ZP steht, gespeichert.
  21.                    Normalerweise hat man eine feste Brettliste, die
  22.                    bei list.zpbm angegeben wird.                   */
  23. templist.zpbm = 't:brettliste.zpbm'
  24. /*-----------------------------------------------------------------*/
  25.                 /* Unter diesem Namen wird eine List der in ZP
  26.                    eingetragenen Bretter erstellt.                 */
  27. zplist.zpbm   = 't:boardlist.zpbm'
  28.  
  29. m/*-----------------------------------------------------------------*/
  30.                 /* Welche Sprache soll ZPBM Verwenden ?
  31.                    'default' für Systemeinstellung                 */
  32. language_zpbm = 'deutsch'
  33. /*-----------------------------------------------------------------*/
  34.                 /* Wie heißt der MAPS Ihres Servers ?              */
  35. maps_zpbm     = 'MAPS@Art-Line.de'
  36. /*-----------------------------------------------------------------*/
  37.                 /* Welches Kommando erwartet Ihr MAPS um Bretter zu
  38.                    bestellen ?                                     */
  39. mapsadd_zpbm  = 'ADD'
  40. /*-----------------------------------------------------------------*/
  41.                 /* Welches Kommando erwartet Ihr MAPS um Bretter
  42.                    abzubestellen ?                                 */
  43. mapsdel_zpbm  = 'DEL'
  44.  
  45. /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  46.  *      Bitte geben Sie hier ihre Präferenzen ein !                *
  47.  *******************************************************************/
  48.  
  49. /*******************************************************************
  50.  *      Bitte unterhalb dieser Zeile nichts mehr verändern!        *
  51.  *******************************************************************/
  52.  
  53. OPTIONS RESULTS
  54.  
  55. PARSE ARG zpPort
  56. IF zpPort == '' THEN
  57.    zpPort = 'ZPoint'
  58. ADDRESS VALUE zpPort
  59.  
  60. GUILOCK ON
  61.  
  62. WHICHLEVEL
  63. LEVEL=RESULT
  64. IF (RESULT = 'BOARD') THEN
  65. DO
  66.   BOARDINFO LABEL
  67.   BOARDNAME=RESULT
  68.   MESSAGEINFO SUBJECT
  69.   IF(VERIFY('LISTBRETTER',RESULT)=0) THEN
  70.   DO
  71.     SAVEMESSAGEBODY templist.zpbm
  72.     list.zpbm = templist.zpbm
  73.     MESSAGEINFO AUTHOR
  74.     maps_zpbm = RESULT
  75.   END
  76. END
  77.  ELSE
  78. DO
  79.   IF(RESULT = 'BOARDMENU') THEN
  80.   DO
  81.     BOARDINFO LABEL
  82.     BOARDLABEL=RESULT
  83.   END
  84. END
  85.  
  86. CALL CREATELIST
  87.  
  88. ADDRESS COMMAND zpbm 'PUBSCREEN='zpPort' LIST='list.zpbm'
  89.                       ZPLIST='zplist.zpbm'
  90.                       MAPS='maps.zpbm' LANGUAGE='language_zpbm''
  91.  
  92. HELP=RC
  93. BIN=HELP
  94.   /* Create */
  95. IF(BITAND(C2B(BIN),C2B(8))=C2B(8)) THEN
  96.   CALL CREATEBOARDS
  97. BIN=HELP
  98.   /* Delete */
  99. IF(BITAND(C2B(BIN),C2B(4))=C2B(4)) THEN
  100.   CALL DELETEBOARDS
  101.  
  102. BIN=HELP
  103.   /* DeRequest */
  104. IF(BITAND(C2B(BIN),C2B(2))=C2B(2)) THEN
  105. DO
  106.   CALL BOARD
  107.   WRITEMESSAGE 'FILE' maps.zpbm 'RECEIVER' maps_zpbm 'SUBJECT' mapsdel_zpbm
  108. END
  109.  
  110. BIN=HELP
  111.   /* Request */
  112. IF(BITAND(C2B(BIN),C2B(1))=C2B(1)) THEN
  113. DO
  114.   CALL BOARD
  115.   WRITEMESSAGE 'FILE' maps.zpbm 'RECEIVER' maps_zpbm 'SUBJECT' mapsadd_zpbm
  116. END
  117.  
  118. IF(EXISTS(templist.zpbm)) THEN
  119.   ADDRESS COMMAND DELETE templist.zpbm QUIET
  120. IF(EXISTS(maps.zpbm)) THEN
  121.   ADDRESS COMMAND DELETE maps.zpbm QUIET
  122. IF(EXISTS(zplist.zpbm)) THEN
  123.   ADDRESS COMMAND DELETE zplist.zpbm QUIET
  124.  
  125. WHICHLEVEL
  126. IF(LEVEL = 'BOARD') THEN
  127. DO
  128.   IF(RESULT = 'BOARD') THEN
  129.   DO
  130.     BOARDINFO LABEL
  131.     IF(RESULT ~= BOARDNAME) THEN
  132.     DO
  133.       BOARDMENU
  134.       JUMPTOBOARD 1
  135.       JUMPTOBOARD 'NAME' BOARDNAME
  136.       ENTERBOARD
  137.     END
  138.   END
  139.   ELSE
  140.   DO
  141.     JUMPTOBOARD 1
  142.     JUMPTOBOARD 'NAME' BOARDNAME
  143.     ENTERBOARD
  144.   END
  145. END
  146. ELSE
  147. DO
  148.   CALL BOARDMENU
  149.   IF(LEVEL = 'BOARDMENU') THEN
  150.   DO
  151.     JUMPTOBOARD 1
  152.     JUMPTOBOARD 'NAME' BOARDLABEL
  153.   END
  154.   IF(LEVEL = 'MAINMENU') THEN
  155.     MAINMENU
  156. END
  157.  
  158. GUILOCK OFF
  159.  
  160. EXIT /* Programmende */
  161.  
  162. /********************************************************************
  163.  *       PROCEDURE CREATELIST                                       *
  164.  ********************************************************************/
  165. CREATELIST:
  166. IF EXISTS(mybretterlist.zpbm) == 1 THEN
  167.  ADDRESS COMMAND 'copy' mybretterlist.zpbm zplist.zpbm
  168. ELSE DO
  169.   CALL BOARDMENU
  170.   JUMPTOBOARD 2
  171.   IF OPEN(FILE, zplist.zpbm, 'W') THEN
  172.   DO
  173.     DOWN
  174.     DO WHILE(RC)
  175.       BOARDINFO LABEL
  176.       NIL=WRITELN(FILE,RESULT)
  177.       DOWN
  178.     END
  179.     NIL=CLOSE(FILE)
  180.   END
  181. END
  182. RETURN
  183.  
  184. /********************************************************************
  185.  *       PROCEDURE DELETEBOARDS                                     *
  186.  ********************************************************************/
  187. DELETEBOARDS:
  188.   CALL BOARDMENU
  189.   JUMPTOBOARD 3
  190.   IF OPEN(FILE, maps.zpbm, 'R') THEN
  191.   DO
  192.     DO UNTIL EOF(FILE)
  193.       LINE=READLN(FILE)
  194.       IF COMPARE(LINE,'') THEN
  195.       DO
  196.         IF ~ABBREV(LINE,'/') THEN
  197.           LINE=INSERT('/',LINE)
  198.         JUMPTOBOARD 'NAME' LINE
  199.         IF(RC) THEN
  200.           DELETE
  201.       END
  202.     END
  203.     NIL=CLOSE(FILE)
  204.   END
  205. RETURN
  206.  
  207. /********************************************************************
  208.  *       PROCEDURE CREATEBOARDS                                     *
  209.  ********************************************************************/
  210. CREATEBOARDS:
  211.  WHICHLEVEL
  212.   IF RESULT ~= 'BOARDMENU' THEN BOARDMENU
  213.  HOMEPATH
  214.   HeimatPfad = RESULT
  215.   IF OPEN(FILE, maps.zpbm, 'R') THEN
  216.   DO
  217.    DO UNTIL EOF(FILE)
  218.    NEWBOARDNAME=READLN(FILE)
  219.     IF LINE ~= "" THEN CREATEBOARD newboardname Heimatpfad||newboardname
  220.    END
  221.   NIL=CLOSE(FILE)
  222.   END
  223. RETURN
  224.  
  225. /********************************************************************
  226.  *       PROCEDURE BOARDMENU                                        *
  227.  ********************************************************************/
  228. BOARDMENU:
  229.   WHICHLEVEL
  230.   IF (RESULT ~= 'BOARDMENU') THEN
  231.     BOARDMENU
  232. RETURN
  233.  
  234. /********************************************************************
  235.  *       PROCEDURE BOARD                                            *
  236.  ********************************************************************/
  237. BOARD:
  238. WHICHLEVEL
  239.   IF (RESULT ~= 'BOARD') THEN
  240.   DO
  241.     IF (RESULT = 'MAINMENU') THEN
  242.       BOARDMENU
  243.     JUMPTOBOARD 1
  244.     ENTERBOARD
  245.   END
  246. RETURN
  247. /*EOS*/
  248.